package A1_栈和队列;

import java.util.Stack;

public class LC_020有效的括号 {
    public boolean isValid(String s) {
        if(s.length()%2!=0)//剪枝
            return false;
        Stack<Character> st=new Stack<>();
        char[] c=s.toCharArray();
        for(int i=0;i<s.length();i++){
            if(c[i]=='(')
                st.push(')');
            else if(c[i]=='[')
                st.push(']');
            else if(c[i]=='{')
                st.push('}');
            //此处只获取不弹出元素
            else if(st.empty()||st.peek()!=c[i])
                return false;
            else
                st.pop();
        }
        return st.empty();
    }
}
